Recent years have seen rapid development in digital shape deformation technology. Indeed, due to advances in algorithms and hardware, conventional digital deformation systems are now able to manipulate a digital shape (i.e., a digital mesh) based on a variety of user inputs. Thus, for instance, conventional digital deformation systems can receive user input in relation to a portion of a digital mesh and automatically modify (e.g., stretch, bend, or rotate) the remainder of the digital mesh.
Although conventional shape deformation systems have progressed in recent years, they still have a number of significant shortcomings. For instance, one branch of digital deformation systems utilizes an as-rigid-as-possible approach. Such deformation systems determine deformations of an input mesh by minimizing the sum of local deviations from perfect rigidity.
Although conventional as-rigid-as-possible deformation systems have a number of benefits (they are relatively simple to formulate and efficient to compute), they also have a number of shortcomings. For example, given that conventional as-rigid-as-possible systems emphasize rigidity over an input mesh, such systems tend to generate deformations that appear stiff and unyielding. For example, deformations from an as-rigid-as-possible system often appear as if the shape is deforming from a stiff sheet of rubber. Although such an approach may be desirable in certain applications, users often seek more fluid deformations of an input shape.
Similarly, conventional as-rigid-as-possible deformation systems have historically been formulated with respect to a single input shape, which limits artistic control in generating modified shapes. For example, although many conventional as-rigid-as-possible deformation systems can deform an input shape by bending or stretching the input shape, such systems generally fail to allow users to modify shapes in more complex, realistic animations by combining multiple example input shapes.
Other conventional deformation systems provide additional artistic control by utilizing example-based deformation approaches. In such systems, a user provides multiple input shapes and the example-based deformation systems combine the input shapes to generate modified shapes. This approach allows shapes to deform more realistically based on the multiple input shapes. However, such systems also introduce a number of additional problems depending on the particular approach.
For instance, many example-based deformation approaches are not well-suited to inverse kinematic applications (i.e., applications where a user provides positional constraints on localized portions of the mesh and the system calculate deformed shapes from the user-specified constraints, rather than physical simulation). For example, some example-based deformation systems have difficulty transitioning between multiple input shapes in response to user input. Indeed, some example-based deformation systems in inverse kinematic applications jump or skip from one input shape to another input shape, rather than smoothly deforming between input shapes.
Similarly, some conventional example-based systems generate suboptimal solutions arising from local minima, which results in artifacts and discontinuous jumps in modifying a mesh. Moreover, some systems simply ignore some input shapes in generating deformed shapes. Thus, rather than shapes transitioning in a manner anticipated by a user based on example inputs, such conventional systems can result in changes and modifications contrary to user expectations.
In addition, although conventional example-based deformation systems can globally combine input meshes, such global combinations often result in artifacts in resulting shapes. Indeed, because conventional example-based deformation systems cannot variably combine input meshes over different portions of a deformed shape, combinations that may result in normal deformations in one portion of a resulting modified mesh may cause strange artifacts in another portion of the modified mesh. Some systems seek to overcome this limitation by requiring a large number of input meshes and then utilizing the large number of input meshes to generate a variety of different expressive deformations; however, this approach places an excessive burden on users to generate a significant number of input meshes in order obtain desired deformation results.
Moreover, some conventional deformation systems generate modified meshes in dynamic applications (i.e., in the context of physical simulation). Such dynamic systems, however, generally require a variety of input parameters (e.g., for modeling the physical characteristics of the physical simulation), physical dynamic equations, and constraints. In addition, such systems are generally not well suited to accommodate meshes that do not reflect deformation of physical materials. Accordingly, such systems generally struggle to generate modified meshes without input parameters and/or where input shapes are highly-stylized (e.g., cartoonish, rather than simulated physical deformations).
Furthermore, although many digital deformation systems can generate deformation shapes, they require significant computer processing time, power, and memory to operate. Accordingly, many conventional digital deformation systems are unable to provide deformed shapes based on a range of different input shapes while running fast enough for utilization in real-time applications (e.g., real-time animation).
These and other problems exist with regard to generating stylized digital shape deformations.